<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>multivac.Element</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="multivac-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >multiVAC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="multivac-module.html">Package&nbsp;multivac</a> ::
        Class&nbsp;Element
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="multivac.Element-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Element</h1><p class="nomargin-top"><span class="codelink"><a href="multivac-pysrc.html#Element">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_multivac_2" name="uml_class_diagram_for_multivac_2">
<area shape="rect" id="node5" href="multivac.Element-class.html#id" title="Read only accessor to prevent setting this field." alt="" coords="17,103,216,121"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#children" title="The collection of child Elements of this instance." alt="" coords="17,121,216,140"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#parent_id" title="Read only accessor to prevent setting this field." alt="" coords="17,140,216,159"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#parent" title="Setter for the related parent Element of this instance." alt="" coords="17,159,216,177"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#project_id" title="Read only accessor to prevent setting this field." alt="" coords="17,177,216,196"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#project" title="Setter for the related Project of this instance." alt="" coords="17,196,216,215"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#status" title="Setter for the status of this instance." alt="" coords="17,215,216,233"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#__init__" title="Constructor for Element instances." alt="" coords="17,233,216,252"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#query_tags" title="Overriden query method to apply tag&#45;based custom filtering, on top of &#160;common equality filter." alt="" coords="17,252,216,271"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#ancestors" title="Retrieve all the ancestors of this node." alt="" coords="17,271,216,289"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#__repr__" title="Returns a printable representation of this instance." alt="" coords="17,289,216,308"/>
<area shape="rect" id="node5" href="multivac.Element-class.html#__str__" title="Coerces this instance to a string." alt="" coords="17,308,216,327"/>
<area shape="rect" id="node1" href="multivac.Element-class.html" title="Mapping class for the table &#171;element&#187;." alt="" coords="5,70,227,333"/>
<area shape="rect" id="node2" href="multivac.ORM_Base-class.html" title="Base class for mapping the tables." alt="" coords="69,6,163,50"/>
</map>
  <img src="uml_class_diagram_for_multivac_2.gif" alt='' usemap="#uml_class_diagram_for_multivac_2" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Mapping class for the table &#171;element&#187;.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#id" class="summary-sig-name">id</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Read only accessor to prevent setting this field.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.id">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">set&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#children" class="summary-sig-name">children</a>(<span class="summary-sig-arg">self</span>)</span><br />
      The collection of child Elements of this instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.children">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#parent_id" class="summary-sig-name">parent_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Read only accessor to prevent setting this field.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.parent_id">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#parent" class="summary-sig-name">parent</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">parent</span>)</span><br />
      Setter for the related parent Element of this instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.parent">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#project_id" class="summary-sig-name">project_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Read only accessor to prevent setting this field.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.project_id">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#project" class="summary-sig-name">project</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">project</span>)</span><br />
      Setter for the related Project of this instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.project">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#status" class="summary-sig-name">status</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">status</span>)</span><br />
      Setter for the status of this instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.status">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">*args</span>,
        <span class="summary-sig-arg">**kwargs</span>)</span><br />
      Constructor for Element instances.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="_cascade_status"></a><span class="summary-sig-name">_cascade_status</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Propagate its status to its parent, in a recursive manner.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element._cascade_status">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">list&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#ancestors" class="summary-sig-name">ancestors</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Retrieve all the ancestors of this node.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.ancestors">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">str</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns a printable representation of this instance.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.__repr__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">str</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Coerces this instance to a string.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.__str__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#_children_added" class="summary-sig-name" onclick="show_private();">_children_added</a>(<span class="summary-sig-arg">cls</span>,
        <span class="summary-sig-arg">parent</span>,
        <span class="summary-sig-arg">child</span>,
        <span class="summary-sig-arg">initiator</span>)</span><br />
      Listener to be executed when an element has to be added to a children
      collection.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element._children_added">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#_children_removed" class="summary-sig-name" onclick="show_private();">_children_removed</a>(<span class="summary-sig-arg">cls</span>,
        <span class="summary-sig-arg">parent</span>,
        <span class="summary-sig-arg">child</span>,
        <span class="summary-sig-arg">initiator</span>)</span><br />
      Listener to be executed when an element has to be removed from a 
      children collection.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element._children_removed">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">Query&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="multivac.Element-class.html#query_tags" class="summary-sig-name">query_tags</a>(<span class="summary-sig-arg">cls</span>,
        <span class="summary-sig-arg">session</span>,
        <span class="summary-sig-arg">tags</span>=<span class="summary-sig-default">{}</span>)</span><br />
      Overriden query method to apply tag-based custom filtering, on top of
      common equality filter.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="multivac-pysrc.html#Element.query_tags">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="id"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">id</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.id">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Read only accessor to prevent setting this field.</p>
  <dl class="fields">
    <dt>Returns: int</dt>
        <dd>Surrogate primary key</dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@hybrid_property</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="children"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">children</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.children">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>The collection of child Elements of this instance.</p>
  <dl class="fields">
    <dt>Returns: set&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</dt>
        <dd>This instance collection of children Elements</dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@hybrid_property</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="parent_id"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">parent_id</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.parent_id">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Read only accessor to prevent setting this field.</p>
  <dl class="fields">
    <dt>Returns: int</dt>
        <dd>Foreign key for the parent <a href="multivac.Element-class.html" 
          class="link">Element</a> relationship</dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@hybrid_property</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="parent"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">parent</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">parent</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.parent">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Setter for the related parent Element of this instance. Ensures 
  project coherence between itself and the parent, and proper children 
  collection initialization. Also cascades status changes.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>parent</code></strong> (<a href="multivac.Element-class.html" class="link">Element</a>) - The parent Element to be assigned</li>
    </ul></dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@parent.setter</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="project_id"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">project_id</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.project_id">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Read only accessor to prevent setting this field.</p>
  <dl class="fields">
    <dt>Returns: int</dt>
        <dd>Foreign key for the parent <a href="multivac.Project-class.html" 
          class="link">Project</a> relationship</dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@hybrid_property</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="project"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">project</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">project</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.project">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Setter for the related Project of this instance. Prevents a second 
  assignation.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>project</code></strong> (<a href="multivac.Project-class.html" class="link">Project</a>) - The Project to be assigned</li>
    </ul></dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@project.setter</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="status"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">status</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">status</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.status">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Setter for the status of this instance. Ensures the cascade of a 
  status change.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>status</code></strong> (str) - The status to be assigned</li>
    </ul></dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@status.setter</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">*args</span>,
        <span class="sig-arg">**kwargs</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Constructor for Element instances. Ensures that the &#171;forced_status&#187; 
  field is assigned first to cascade status properly.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>args</code></strong> (tuple) - Optional arguments to the constructor</li>
        <li><strong class="pname"><code>kwargs</code></strong> (dict) - Optional keyword arguments to the constructor</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="_children_added"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_children_added</span>(<span class="sig-arg">cls</span>,
        <span class="sig-arg">parent</span>,
        <span class="sig-arg">child</span>,
        <span class="sig-arg">initiator</span>)</span>
    <br /><em class="fname">Class Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element._children_added">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Listener to be executed when an element has to be added to a children 
  collection. Check the added child status and update the parent's one.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>parent</code></strong> (<a href="multivac.Element-class.html" class="link">Element</a>) - The Element that has a new child added</li>
        <li><strong class="pname"><code>child</code></strong> (<a href="multivac.Element-class.html" class="link">Element</a>) - The Element being added as a child</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="_children_removed"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_children_removed</span>(<span class="sig-arg">cls</span>,
        <span class="sig-arg">parent</span>,
        <span class="sig-arg">child</span>,
        <span class="sig-arg">initiator</span>)</span>
    <br /><em class="fname">Class Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element._children_removed">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Listener to be executed when an element has to be removed from a 
  children collection. Check the removed child status and update the 
  parent's one.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>parent</code></strong> (<a href="multivac.Element-class.html" class="link">Element</a>) - The Element that has a child removed</li>
        <li><strong class="pname"><code>child</code></strong> (<a href="multivac.Element-class.html" class="link">Element</a>) - The Element being removed as a child</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="query_tags"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">query_tags</span>(<span class="sig-arg">cls</span>,
        <span class="sig-arg">session</span>,
        <span class="sig-arg">tags</span>=<span class="sig-default">{}</span>)</span>
    <br /><em class="fname">Class Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.query_tags">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Overriden query method to apply tag-based custom filtering, on top of 
  common equality filter.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>session</code></strong> (Session) - The database session in which to execute the query</li>
        <li><strong class="pname"><code>tags</code></strong> (dict) - Tag names and values to apply as a filter</li>
    </ul></dd>
    <dt>Returns: Query&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</dt>
        <dd>A query selecting Element instances, filtered by tags</dd>
  </dl>
</td></tr></table>
</div>
<a name="ancestors"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">ancestors</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.ancestors">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Retrieve all the ancestors of this node. If the node has no parents, 
  return an empty list. Else, start retrieving them from the identity map 
  and, when not there, fetch the rest from the database using a CTE.</p>
  <dl class="fields">
    <dt>Returns: list&lt;<a href="multivac.Element-class.html" 
      class="link">Element</a>&gt;</dt>
        <dd>A list of all the ancestors of this node, ordered by proximity.</dd>
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@property</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.__repr__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns a printable representation of this instance.</p>
  <dl class="fields">
    <dt>Returns: str</dt>
        <dd>A descriptive string containing most of this instance fields</dd>
    <dt>Overrides:
        object.__repr__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Informal representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="multivac-pysrc.html#Element.__str__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Coerces this instance to a string.</p>
  <dl class="fields">
    <dt>Returns: str</dt>
        <dd>The name field</dd>
    <dt>Overrides:
        object.__str__
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="multivac-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >multiVAC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
